home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 18
/
AMIGAplus Sonderheft 18 (1999)(ICP)(DE)[!].iso
/
Forum
/
MichaelRoth
/
3-3-99
/
code
/
XOR.SUB
< prev
Wrap
Text File
|
1998-08-31
|
1KB
|
33 lines
BTB_XOR
; A0 -> Klartext
; A1 -> Key
; D0 -> Länge des Klartextes
; D1 -> Länge des Keys
movem.l d1-d7/a2-a6,-(sp)
; move.l memblock,a0 ; Startadresse des Klartextes
; move.l memblock2,a1 ; "" des Keys
; move.l filelänge,d0 ; Länge des Buffers
; move.l filelänge2,d1 ; Länge des Keys
lea (a0,d0),a2 ; Endadresse des Buffers berechnen
lea (a1,d1),a3 ; """" des Keys
.loop1
move.b (a1)+,d4
eor.b d4,(a0) ; XNOR bilden
not.b (a0)+ ; und XOR draus machen
; cmp.l a0,a2 ; Prüfen ob Buffer am Ende
; bhi.s .goon
.goon
rol.b #4,d4
eor.b d4,(a0)+
cmp.l a1,a3 ; Prüfen ob Key am Ende
bhi.s .goon ; wenn nein weiter
move.l memblock2,a1 ; ansonsten neu laden
.goon ;
cmp.l a0,a2 ; Prüfen ob Buffer am Ende
bhi.s .loop1 ; Nein -> nächste schleife
movem.l (sp)+,d2-d7/a2-a6
rts